package cn.wolfcode.qo;

import lombok.Getter;

import java.util.List;

@Getter
public class PageResult<T> {
    private int currentPage;    // 页面传的
    private int pageSize;       // 页面传的
    private List<T> data;       // 数据库查询
    private int totalCount;    // 数据库查询

    // 计算出来的
    private int totalPage;      // 总页数
    private int prevPage;        // 上一页
    private int nextPage;       // 下一页

    public PageResult(int currentPage, int pageSize, List<T> data, int totalCount) {
        this.currentPage = currentPage;
        this.pageSize = pageSize;
        this.data = data;
        this.totalCount = totalCount;

        if (this.totalCount <= this.pageSize) { // 数据只够一页
            this.totalPage = 1;
            this.prevPage = 1;
            this.nextPage = 1;
            return;
        }

        // 其他计算出来的
        this.totalPage = this.totalCount % this.pageSize == 0 ?
                this.totalCount / this.pageSize : this.totalCount / this.pageSize + 1;
        this.prevPage = this.currentPage - 1 <= 1 ? 1 : this.currentPage - 1;
        this.nextPage = this.currentPage + 1 <= this.totalPage ?
                this.currentPage + 1 : this.totalPage;


    }
}
